The subject matter discussed in the background section should not be assumed to be prior art merely as a result of its mention in the background section. Similarly, a problem mentioned in the background section or associated with the subject matter of the background section should not be assumed to have been previously recognized in the prior art. The subject matter in the background section merely represents different approaches, which in and of themselves may also be inventions.
In conventional database systems, users access their data resources in one logical database. A user of such a conventional system typically retrieves data from and stores data on the system using the user's own systems. A user system might remotely access one of a plurality of server systems that might in turn access the database system. Data retrieval from the system might include the issuance of a query from the user system to the database system. The database system might process the request for information received in the query and send to the user system information relevant to the request. In conventional software debugging, software developers use a variety of tools to browse, inspect, and analyze heap dumps. In general, a heap dump is a snapshot of all the live objects and classes in the system memory at a particular point in time. The ability to load and view heap dumps and recreate the object dependencies and analyze classes and objects for memory usage may allow software developers to debug system crashes due to memory shortage errors and determine application memory footprints, among other things.
However, in a cloud computing environment with numerous application servers running constantly, processing each heap dump manually is a tedious and time consuming task that is not practical. Furthermore, due to the nature of cloud computing architectures, a single problem can be propagated to numerous application servers, causing numerous heap dumps of the same issue (duplication). Developers want to be able to efficiently identify, analyze, and debug errors in heap dumps.
Accordingly, it may be desirable to provide techniques enabling the automatic identification of errors in code.